package com.syf.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.syf.domain.Market;
import com.baomidou.mybatisplus.extension.service.IService;
import com.syf.dto.MarketDto;

import java.util.List;

/**
*
*
*@author syf
*@create 2021-11-17 14:13
*/
public interface MarketService extends IService<Market>{

    /**
     * 条件分页查询--交易市场配置
     * @param page
     * @param tradeAreaId
     * @param status
     * @return
     */
    Page<Market> findByPage(Page<Market> page, Long tradeAreaId, Byte status);

    /**
     * 使用交易区域的id 查询该区域下的市场
     * @param id
     * @return
     */
    List<Market> getMarkersByTradeAreaId(Long id);

    /**
     * 使用 交易对标识symbol 查询 市场Market
     * @param symbol
     * @return
     */
    Market getMarkerBySymbol(String symbol);

    /**
     * 使用报价货币和基础货币查询市场
     * @param buyCoinId
     * @param sellCoinId
     * @return
     */
    MarketDto findByCoinId(Long buyCoinId, Long sellCoinId);


    /**
     * 查询所有的市场数据
     * @return
     */
    List<MarketDto> queryAllMarkets();


    /**
     * 使用交易区域查询市场
     * @param id
     * @return
     */
    List<Market> queryByAreaId(Long id);

}
